In general, graphics rendering may generate an image or images from model data using a wide range of computer implemented techniques. In some graphics rendering implementations, an image may be rendered using rasterization by sampling different functions such as, for example, a visibility function (e.g., a function to determine whether a sample point is inside a triangle) and/or a shading function (e.g., a function to determine the color at a certain sample point), or the like. In general, the samples for a visibility function may be termed visibility samples and the samples for a shading function may be termed shading samples.
In some implementations, such as, for example, super-sampling anti-aliasing (SSAA) applications, the number of visibility samples per pixel may match the number of shading samples per pixel. In other implementations, such as, for example, multi-sampling anti-aliasing solution (MSAA) applications, there may be a single shading sample per pixel and multiple visibility samples per pixel. In either case, the multiple samples may improve image or video quality, such as, for example, reducing jagged edge effects in images and crawling effects in video, or the like.
In general, using SSAA or MSAA or other graphics techniques may require a color buffer bandwidth increase or an increased bandwidth in other buffers. Such bandwidth increases may decrease system performance such as causing more cache line transactions, increasing memory usage, increasing power usage, or the like. Therefore, compression of graphics data may be advantageous. Furthermore, in instances where SSAA and MSAA are not used, color buffer bandwidth usage may be significant and compression techniques may be advantageous in such instances as well.